home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Plus Special 16
/
AMIGAplus Sonderheft 16 (1998)(ICP)(DE)[!].iso
/
pd
/
anwendungen
/
evenmore
/
nostalgia
/
evenmore033.lha
/
EvenMore033
/
Docs
/
evenmore.doc
next >
Wrap
Text File
|
1997-01-04
|
28KB
|
701 lines
.
Program : EvenMore :
Type : Text viewer (Freeware + emailware) |
Version : 0.3beta3 |
Compiled : 15:37:35 4 Jan. 1997 |
Code : AmigaE |
|
EvenMore © Chris Perver, 1996-1997 |
ReqTools © Nico François + Magnus Holmgren |
|
---------------------------------------------------'
-+====== Important Messages!!! =============================================+-
TO: Any Viper accelerator users out there!
If you have managed/know how/may know how to softkick a Viper accelerator, let
me know! I have an Amiga 1200 (OS3.0 - 030 28Mhz - 882 33Mhz - 18Megs total ram,
etc., etc.) and I desperately want to softkick OS3.1. All help/info/programs
WILL be gratefully accepted. cHRISPi needs YOUR help!
Also, please note... I have tried virtually every program on Aminet already :/
|
| / _ _ _ | | _ | | _ _ |
|-| / | | \ | \ | | |\| /_\ | | \_| /_\ / | |/
/ | \/| |\/ |\/ \_| | | \_ |/\| _/ \_ \/| | |
/ / _/
PREFS FILE HAS CHANGED! PREFS FILE HAS CHANGED! PREFS FILE HAS CHANGED! PREFS
FILE HAS CHANGED! PREFS FILE HAS CHANGED! PREFS FILE HAS CHANGED! PREFS FILE HAS
CHANGED! PREFS FILE HAS CHANGED! PREFS FILE HAS CHANGED! PREFS FILE HAS CHANGED!
-+==========================================================================+-
==========================================
IMPORTANT! READ THE COPYRIGHT NOTICE NOW!
==========================================
The EvenMore executables and sources are copyright © Chris Perver, 1996-1997 and
the ReqTools.library is copyright © Nico François and copyright © Magnus
Holmgren.
The files in this archive are the following:-
EvenMore.info
EvenMore/
EvenMore
EvenMore.info
Docs.info
Docs/
EvenMore.doc
EvenMore.readme
MicroSlick.readme
Env/
EvenMore.config
Icons.info
Icons/
program_icon.info
program_icon2.info
Libs/
ReqTools.library
Nostalgia.info
Nostalgia/
EvenMore01.lha
--- Copyright agreement --------------------------------------------------------
This archive can be distributed by commercial companies, private companies
profit making or otherwise, as long as the following rules are applied.
--------------------------------------------------------------------------------
1) Permission to distribute this archive, or any part of it, in any form
requires express permission and consent of its author in writing (Email
please, but letter also accepted if necessary).
2) The contents of this archive must remain intact and unaltered. This archive
is permitted to be distributed so long as all the files described are
included and are not malformed, edited, changed or modified in any way, by
accident or intent.
3) If the program is distributed by any company that fits into the term given
above (Including, but not limited to paper magazines, disk magazines,
internet magazines, etc.) through any form of distribution methods
(Including, but not limited to CD, disk, FTP, email, etc.), I demand that a
free copy of that particular magazine, CD or disk or distribution be posted
(free of charge) to me as soon as it is published or released.
4) This archive may be distributed and advertised by public domain libraries,
as long as no profit is made on the program, and the price is no higher than
the cost of a disk and copying.
5) It is forbidden from be distributed by pirates through any form
of distribution methods (Including, but not limited to BBS, disks, CDs, FTP
sites, homepages, DCC, email, etc.), even although it is freeware. If you do
want the program, come and ask me, not the pirates! The reason being I do
not wish lame pirates to gain even more business because of all the work I
have put into creating this. This is in response to the pirates moving from
commercial software to shareware. Hopefully they won't start on freeware!
Spread the word, not the disk!
--- EXCEPTIONS -----------------------------------------------------------------
1) This archive may be freely distributed on Aminet disks, Aminet
archives on-line, Aminet BBS and FredFish disks, no permission necessary
--------------------------------------------------------------------------------
========
REQUIRES
========
o Kickstart 37+
o GadTools.library 37+
o ReqTools.library 37+ (Included)
o Icon.library 36+
============
INSTALLATION
============
1) Simply copy 'libs/reqtools.library' to 'Libs:', if you haven't already got
it, or haven't got a version later than 37.
2) Then copy 'EvenMore' and 'EvenMore.info' to somewhere on your command line,
like 'C:'
3) Then edit the file 'Env/EvenMore.config' to suit your own taste, and the
move it to 'ENVARC:' and 'ENV:'.
========
FEATURES
========
Notes about this version:
-------------------------
HEY! Just before you go about screaming, 'It's got less features that the last
version!', stop and think... I was attempting to do word and line wrapping, but
I am not sure if I am going to be able to do that due to difficulties beyond my
brain power. OK, I know there is no searches ATM, as I had to take them out when
I was doing the word and line wrapping, due to the way I had to load the file.
But maybe soon, I will get super searches working that are even better than
before. Anyway, now you know...
Main features
-------------
o Totally font sensitive.
o Tooltypes.
o Preferences file.
o Can open the window on any public screen and move between them.
o Uses ReqTools library.
============
INTRODUCTION
============
The AmigaOS is a damn good operating system. Even the last OS before Commodore
ran out of money (OS 3.0) can't be touched by Windoof and other operating
systems. So why spoil it now? Commodore also brought in features such as Screen
and Icon fonts, which could be proportional. And proportional fonts look so much
more nicer. So that is why I decided to have a bash at designing a nice looking
text viewer to complement Workbench. Well, that is partly the reason. The other
part is, I wanted to program... I was thinking about C, and then I just happened
to see what E could do and I was hooked! So this is my grand contribution to the
Amiga :). It hasn't much features now, but it will get better.
Anyway. Before I didn't realize how much code was involved in just doing the
simple things like opening a window with menus and printing text. In a basic
language, there are commands available for just about anything under the sun. I
could have written this program in Blitz Basic easily in a couple of lines, but
the resultant code would have turned out twice as large. What makes it worse is
I am just learning a new language, and I haven't encountered all this operating
system code before. I need a book (Or similar) that would show me common
routines of doing things in the Amiga's operating system using AmigaE, no C
here, as I don't know the syntax (I wish I did, as there is a phenomenal amount
of C source on Aminet, and there is software and books that literally grow on
trees - Heheh, literally, as books ARE made out of paper ;).
=====
Usage
=====
EvenMore takes 2 arguments when running from CLI, but still only one when
running from Workbench (Which is the file to be displayed).
o You can specify a path and a file for the first argument.
o The second argument is optional and allows you to specify a configuration
file. This means that you can have a separate configuration for each program
you run EvenMore from, one to open on Workbench, and another for DOpus that
would open the window on the DOpus screen, and an ever so special one for the
excellent GoldEd :). If no configuration file is selected, then the default
'ENV:EvenMore.config' will be opened. If this doesn't open, then the
hardcoded default settings will be used.
It is important to note that if you are specifying a configuration file and no
text file, then you must put 'PREFS=<configuration file>' to make sure EvenMore
knows you are not specifying a text file to view.
If you do not specify a path or file, a requester will pop up allowing you to do
so. Once you have selected the file you wish to view, a window will open
displaying the contents.
The EvenMore window will open on the default public screen which would be
Workbench or the DOpus screen if no screen has been selected. (Hopefully not
DOpus :). You can of course, specify another screen for the window to open on as
long is it is made public!
e.g. EvenMore S:User-startup PREFS=Env:EvenMore.Goldedconfig
There are also several tooltypes for setting your preferences when running the
program from workbench. These are:
WINDOWXPOS=0 (The top left position of the window on the
screen in pixels on the X axis)
WINDOWYPOS=14 (The top left position of the window on the
screen in pixels on the Y axis)
WINDOWWIDTH=640 (The width of the window in pixels)
WINDOWHEIGHT=256 (The height of the window in pixels)
CENTREWINDOW=[TRUE/FALSE] (Open window in the exact centre of the screen)
PUBSCREEN=GOLDED.1 (The public screen to open the window on)
If the screen positions and sizes are commented out or are not there or if there
is no preferences file, the defaults will be used which are 640*200 positioned
top left hand side of the screen and using the default public screen.
If the centring option is enabled, then the window position values will be
overrided.
If you specify a size larger than the visible limits of the screen (The part you
can see), then the window will be moved and resized to suit. For example, if the
screen is scrolled down and the window opened, the window will be moved to the
middle of the remaining visible part if the CENTREWINDOW option is on, and if
the window size is larger than the visible part, the window will be sized to
fit. This hopefully means that users of graphics cards will sleep better,
knowing they shall be able to view any time, any place.
If you specify a public screen to open the window up on that does not exist, you
can be sure the window will open on the default public screen such as Workbench
or DOpus (Hopefully not DOpus :). If a public screen still can't be found, well
what are you running? Linux?!?!? If the public screen entry is commented out,
then the default public screen will be used.
----------------------------------------------------------------------- HINT ---
Use MCPs default pubscreen patch to make the front screen into the default
public screen, if it is public. And you could use TruePub to patch screens that
are private to public screens to get EvenMore to open on any screen you want.
--- HINT -----------------------------------------------------------------------
Here is an explanation of the preferences file.
If there is a preference file 'ENV:evenmore.config', or if you supply a
different preference file, the above tooltypes will be overrided.
Here is what the preferences file could look like. (Just to show what is allowed
and what isn't)
- - cut along here 8< - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Batman! Dinnerdinnerdinnerdinner, dinnerdinnerdinnerdinner, BATMAN!
WINDOWXPOS (¦?o)=50
MicroSoft ate my hamster. Windoof ate its brother.
WINDOWYPOS=50
*** Note: Remember to watch The Thin Blue Line! ***
WIDTHWINDOWWIDTHWINDOW=640
WINDOWHEIGHT=256
(I think typ..oh hang on...CENTREWINDOW...like this is ok :)=TRUE
PUBLICSCREEN DOES NOT=GOLDED.1
She sells sea shells on the sea shore.
The shells she sells are sea shells for sure.
- - - - - - - - - - - - - - - - - - - - - - - - - - - cut along here 8< - - -
This is what EvenMore will see that pile of rubbish as...
- - cut along here 8< - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
WINDOWXPOS=50
WINDOWYPOS=50
WINDOWWIDTH=640
WINDOWHEIGHT=256
CENTREWINDOW=TRUE
PUBLICSCREEN=GOLDED.1
- - - - - - - - - - - - - - - - - - - - - - - - - - - cut along here 8< - - -
The format of this file is half critical! Well, sort of. Basically values must
come after the preset name. No other text is allowed to be after the equals sign
other than the value and make sure you only have 1 equals sign in a line! Also,
please try not to have spaces before the value after the equals sign, or spaces
after the value. EvenMore doesn't trim the spaces.
Text before the preset name is ok.
The preset order may be changed, for instance, I could put the CENTREWINDOW
option at the top and it wouldn't make a difference.
Also, the preset names must be UPPERCASE! (Due to the optimizations I have done)
If you don't want EvenMore to open on a different public screen, you can either
change the public screen name to something that doesn't exist and EvenMore will
open on the default public screen (If one exists), or type in 'Workbench' (minus
the quote-marks) which is the public screen name of the Workbench Screen.
Here is an explanation of the menu items.
_______________________________________________________
[Project] View
| ¯¯¯¯¯¯¯¯T¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
| Load file... |
| Reload file |
|----------------|
| Go to screen...|
|----------------|
| About... |
|----------------|
| Quit |
`----------------'
Load file:
----------
Allows you to select an ascii file from a requester to display
Reload file:
------------
Enables you to quickly reload the currently displayed file incase its contents
have changed. The line number you were at in the file (which is counted as the
top-most line in the window) will not be changed unless the file is shorter than
that line number, in which case, EvenMore will view from the end of the file.
Go to screen:
-------------
A requester pops up allowing you to enter the name of a public screen to
re-display the window on. If the screen is not available, the title bar
will tell you the screen was not found.
--- Warning! -------------------------------------------------------------------
The names of screens are CASE-SENSITIVE. This means if you mistakenly type
'gOLDED.1' and not 'GOLDED.1' the window won't open on that screen! So be
warned!
------------------------------------------------------------------- Warning! ---
About:
------
Display information about the program
Quit:
-----
Exit the program
_______________________________________________________
Project [View]
¯¯¯¯¯¯¯¯¯| ¯¯¯¯¯¯¯¯¯¯¯T¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
| Go to line... |
|----------------|
| Top of file |
| Page up |
|----------------|
| Page down |
| Bottom of file |
`----------------'
Go to line:
-----------
Move directly to a line in the current document. Note that this number will be
taken as the top line of the window. So if I entered 4, EvenMore will display
lines 4 to the end of the window. Also note that the number you can enter is
limited by what is displayable, so if the viewer could display 10 lines in its
window, and the text file had 20 lines, I would only be able to enter a number
between 1 and 10.
Top of file:
------------
Move to the top of the file.
Page up:
--------
Move up one height of the window.
Page down:
----------
Move down one height of the window.
Bottom of file:
---------------
Move to the bottom of the file.
--------------------------------------------------------------------------------
There are several keys for moving about the document displayed in EvenMore's
window.
UP CURSOR KEY (Scroll text up one line)
DOWN CURSOR KEY (Scroll text down one line)
----------------------------------------------------
SHIFT + UP CURSOR KEY (Scroll text up one page)
SHIFT + DOWN CURSOR KEY (Scroll text down one page)
----------------------------------------------------
CTRL + UP CURSOR KEY (Move to top of file)
CTRL + DOWN CURSOR KEY (Move to bottom of file)
=======
HISTORY
=======
-----------------------------------------------------------------------------
0.3beta3 Theme: Not another re-write! The 487th re-write this month!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
o Fixed silly bug in which sometimes the preference file wouldn't open. (I
hope I did anyway).
o Window maximum and minimum sizes are now calculated according to the
visible limits of the screen, so hopefully no gurus should occur on virtual
Workbenches.(I hope)
o Tonnes and tonnes more optimizations.
o Flipped preferences file around. (It didn't occur to me there was another
way to do it easily)
o Added the ability to move the window to a different screen after it is
opened.
o Now checks for the availability of a screen, by the
LockPubScreenList() instead of just trying to open on the default screen if
LockPubScreen() returns NIL.
o Hopefully improved the output of error handling.
o Changed the way preferences are loaded. This may save some memory/speed?
o Fixed bug in which the preferences would not load from the root directory of
my harddrive.
o Fixed bug in which the program would crash on exit.
o Now checks some keys by qualifiers instead of rawkey numbers.
o Can be killed by CTRL C.
o Added newlook menus for v39+.
o Text no longer trashes right border.
o And a few more things not worth mentioning...
-----------------------------------------------------------------------------
0.3beta2 Theme: We're... forever... making improvements!
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
o Fixed silly mistake. Changed drawmode back from Jam2 to Jam1. I don't know
how many times I have done this. :)
o More keys for moving about documents.
o View menu to move about documents.
o Added extra requesters.
o Added reload menu item.
o Added more information in about requester.
o Added more information in the title bar.
o Now uses ReqTools library.
o Added centring window option.
o Added preferences file.
o Search menu to search through documents.
o Made a whole lot of optimizations.
o Removed GIMMEZEROZERO flag, so now the window updates faster and uses less
memory.
-----------------------------------------------------------------------------
0.3beta1 Theme: After a long while, I got interested again :)
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
o Added tooltypes (Window size positions)
o A few improvements here and there.... here, there, everywhere a few
improvements!
o Fixed some silly bug. If started from the CLI, the files wouldn't load up
from the requester... Thanx to Johan Björnson for reporting it. Still don't
know who the culprit was that made the bug :?/.
-----------------------------------------------------------------------------
Pre 0.3beta1 Theme: Kicking off
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
o Can't remember what they were like. Probably awful!
====
BUGS
====
----HARMLESS----
o Program fails to load files from the PROC: device. It seems that the PROC
device gives a false filesize for files. This also confuses ReqTools file
requesters. So blame the author of PROC: and kindly ask him to fix it :).
-----FLUFFY-----
o I'm not entirely satisfied I have every window dimension looked after
properly, after changing to a non-GIMMEZEROZERO window. If you see any lines
get trashed, let me know! (In other words, use SysIHack to hack around a bit,
that's right! I said a BIT! But not too much, as I don't check the width of
the gadgets to size the window, maybe when I get a scroller window working.
And let me know if anything goes wrong).
o I am not entirely satisfied that the window will only display on the visible
part of the screen, or if anything wierd might happen... so be warned!
=====
TO DO
=====
EvenMore is pretty scary at the minute. Soon though, once I get the main
features plugged, I will have time to think about putting in the diddly bits.
That is, if I find out how to do the diddly bits! So these are just
considerations, I have not actually thought about how I am going to do any of
this stuff. (Pledge a donation for software and books to educate me :)
o Consider either suppressing output of errors or else using requesters always,
instead of outputing text (But there is no point in outputing an error to a
requester if the program fails to open the ReqTools library).
o Consider maybe either writing a GUI preferences program, or else making a few
preferences changable and saveable by the viewer.
o Get a scroller window made, for scrolling about a bit.
o Rewrite word searches.
o Make more compact optimized code.
o Maybe a requester full of the public screen names to be able to select one to
display the window on.
o Word hi-lighting in searches perhaps.
o Faster scrolling. Maybe some way of only scrolling 2 or even 1 bitplanes.
o ASCII codes such as TAB and CR will be sensed and acted upon.
o ESC sequences or ANSI codes sensed such as BOLD, etc. (Some sort of text/file
parser will need to be written)
o Printing options. In the far distant future.
Here are the features I have considered, but not putting in, at least, at this
point in time.
o Opens on its own screen. What's the point? I mean, you will have Workbench
running, won't you? Ack... not worth the code. Ack... spit.
o Font selection/preferences. Not yet anyway. There's no point in writing
extra code for the sake of features. It's not really needed. I may concider
it later.
======
AUTHOR
======
This program is...
________________________________________________________________________________
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
e! Emailware + freeware! Emailware + freeware! Emailware + freeware! Emailware +
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
That's right! Emailware, and freeware! Got a problem with that? ;)
Freeware:
------------------------------------------------------------------------------
A type of distribution agreement in which the author of the program retains
the copyright of the program, even though the software may be freely available
to all. Please note, freeware IS NOT Public Domain (PD).
Emailware:
------------------------------------------------------------------------------
A type of distribution agreement in which if you use the program, you can if
you want, send the author a feedback email to register.
If you decide it is slightly useful, or just a load of crap, or even shows some
potential, please email me (If you wish). If you have any suggestions or would
just like to say that there is a 6-pack of Pepsi on its way to me then again,
please email me. :)
Any users that do send an email have the benefit of being in my address book in
my email program. Any users that ask to become beta-testers can become one, and
can test any new features (Though they may be few), and test any Aminet releases
that are about to be uploaded, if they ask.
______________________________________________________________
[O|##Contacting#cHRISPi####################################|D|B]
|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯| :
| Postal address: | ::
| Chris Perver, __ __ | ::
| 12, Orchardville Avenue, / // / | ::
| Bangor, / // / | ::
| Co. Down, / // / | ::
| N. Ireland, __ __ / // / | ::
| BT19 1LP. \ \\ \/ // / | ::
| \ \\/ // / | ::
| ______________________ \ V /V / | ::
| Internet:|chris@planb.thegap.com| V_/V_/ | ::
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | ::
| __________________________ | ::
| IRC:|cHRISPi on #amiga/undernet| | ::
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | ::
| _________________________________________________ | ::
| URL:|http://www.geocities.com/SiliconValley/Park/6763/| | ::
| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ | ::
| | ::
| And remember! Windows is rubbish! | ::
| | ::
|_____________________________________________________________ | ::
[############################################################|/] ::
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
====
HELP
====
If any of you lot want to help in the distribution files, go ahead and email me.
You could design a few NewIcons, MagicWB icons, Iconographics icons, convert
this text into an AmigaGuide® file, or anything.
If you have any suggestions or contributions for the distribution files, again
email me. :)
Suggestions for the program (Not too hard ones now! At least until I finish the
main bits) are always welcome. Tell me what YOU would like to see in a text
viewer (Don't just say 'some text'! ;).
Help me crack down on bugs. You can never rid a program of all bugs, that is why
I need your help tracking them down. Please report any bugs you find.
Programmers! Please aid me. Maybe some tutorials or example sources of Workbench
E stuff, parsing, raster tips, detaching processes, optimization tips, etc.
would be handy. Maybe Libraries documentation might be handy until I save up
enough money for the RKRM Libraries manual.
=========================================
THANX 'N' GREETZ (In no particular order)
=========================================
Thanks to my mum and dad for buying me those RKRM manuals. I didn't know they
would be so useful so quickly. I thought I'd at least have to learn C before
they would be of any use.
--------------------------------------------------------------------------------
Thanx to Nico François and Magnus Holmgren for the excellent ReqTools library.
Only fools don't use ReqTools!
Thanx to Dietmar Eilert for GoldEd, it's been plenty of help to me.
Thanx to Wouter van Oortmerssen for AmigaE, it's an amazing language.
--------------------------------------------------------------------------------
Thanx to Ilan Sharoni for helping me a lot with word and line wrapping. It's
just too hard. Maybe I'll understand it someday.
Thanx to Johan Björnson for his excellent contributions and suggestions for this
archive. If it wasn't for him, we wouldn't even have icons!
Thankyou to all my mates in #amiga who helped by answering my questions I put to
them (Hehehe they did? Well they tried. But I understand). Thanx mate!